{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19",
    "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting console-progressbar\n",
      "  Downloading console_progressbar-1.1.2.tar.gz (3.6 kB)\n",
      "Building wheels for collected packages: console-progressbar\n",
      "  Building wheel for console-progressbar (setup.py): started\n",
      "  Building wheel for console-progressbar (setup.py): finished with status 'done'\n",
      "  Created wheel for console-progressbar: filename=console_progressbar-1.1.2-py3-none-any.whl size=4144 sha256=587ff3d6c03b5699adc8cf127c7a10f54b4f716f36ecb31d5a0e0e4faf23734f\n",
      "  Stored in directory: c:\\users\\99555\\appdata\\local\\pip\\cache\\wheels\\87\\c7\\73\\c11410f76f8c24639489b8bfc441ff949f3fceee3318493f3e\n",
      "Successfully built console-progressbar\n",
      "Installing collected packages: console-progressbar\n",
      "Successfully installed console-progressbar-1.1.2\n"
     ]
    }
   ],
   "source": [
    "!pip install console-progressbar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0",
    "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a"
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy.io as sio \n",
    "import os\n",
    "import cv2\n",
    "import json\n",
    "import matplotlib.pyplot as plt\n",
    "import random\n",
    "from console_progressbar import ProgressBar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "color_to_main = {\n",
    "    'White' : 'White',\n",
    "    'Blue' : 'Blue',\n",
    "    'Silver' : 'Silver',\n",
    "    'Black' : 'Black',\n",
    "    'Grey' : 'Silver',\n",
    "    'Sky blue' : 'Blue',\n",
    "    'Red' : 'Red',\n",
    "    'Beige' : 'Brown',\n",
    "    'Green' : 'Green',\n",
    "    'Yellow' : 'Yellow',\n",
    "    'Brown' : 'Brown',\n",
    "    'Orange' : 'Orange'\n",
    "}\n",
    "main_colors = ['White', 'Blue', 'Silver', 'Black', 'Red', 'Brown', 'Green', 'Yellow', 'Orange']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plotting(path, x1, y1, x2, y2):\n",
    "    src_image = cv2.imread(path)\n",
    "    crop_image = src_image[y1:y2, x1:x2]    \n",
    "    plt.imshow(crop_image[:,:,::-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def image_transform(src_path, dst_path, x1, y1, x2, y2):\n",
    "    src_image = cv2.imread(src_path)\n",
    "#     print(src_path)\n",
    "    if src_image is None:\n",
    "        return\n",
    "    crop_image = src_image[y1:y2, x1:x2]\n",
    "    dst_img = cv2.resize(src=crop_image, dsize=(224, 224))\n",
    "    cv2.imwrite(dst_path, dst_img)   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def save_train_val_data(fnames, labels, bboxes):\n",
    "    src_folder = '../input/vehicle-color/color_data_all/color_data_all/'\n",
    "    \n",
    "    num_samples = len(fnames)\n",
    "    \n",
    "    train_split = 0.8\n",
    "    num_train = int(round(num_samples * train_split))\n",
    "    train_indexes = random.sample(range(num_samples), num_samples)\n",
    "\n",
    "    pb = ProgressBar(total=100, prefix='Save train data', suffix='', decimals=3, length=50, fill='=')\n",
    "    \n",
    "    for i, ii in enumerate(train_indexes):\n",
    "#     for i in range(num_samples):\n",
    "        fname = fnames[ii]\n",
    "        label = labels[ii]\n",
    "        (x1, y1, x2, y2) = bboxes[ii]\n",
    "\n",
    "        src_path = os.path.join(src_folder, fname)\n",
    "        \n",
    "        \n",
    "        \n",
    "        # print(\"{} -> {}\".format(fname, label))\n",
    "        pb.print_progress_bar((i + 1) * 100 / num_samples)\n",
    "\n",
    "        if i < num_train:\n",
    "            dst_folder = '/kaggle/working/data/train/'\n",
    "        else:\n",
    "            dst_folder = '/kaggle/working/data/valid/'\n",
    "\n",
    "        dst_path = os.path.join(dst_folder, label)\n",
    "        if not os.path.exists(dst_path):\n",
    "            os.makedirs(dst_path)\n",
    "        dst_path = os.path.join(dst_path, fname)\n",
    "        \n",
    "        \n",
    "        image_transform(src_path, dst_path, x1, y1, x2, y2)   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('../input/vehicle-color/finally_boxes.json', \"r\") as read_file:\n",
    "    boxes = json.load(read_file)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1652"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(boxes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "233\n"
     ]
    }
   ],
   "source": [
    "keys =  list(boxes.keys())\n",
    "random.shuffle(keys)\n",
    "\n",
    "deleted_keys = []\n",
    "\n",
    "silv, blue, brow = [], [], []\n",
    "for key in keys:\n",
    "    if boxes[key][1] == 'Blue':\n",
    "        blue.append(key)\n",
    "    elif boxes[key][1] == 'Silver':\n",
    "        silv.append(key)\n",
    "    elif boxes[key][1] == 'Brown':\n",
    "        brow.append(key)\n",
    "        \n",
    "random.shuffle(blue)\n",
    "random.shuffle(silv)\n",
    "random.shuffle(brow)\n",
    "\n",
    "deleted_keys += blue[: int(1*len(blue)/3)] \n",
    "deleted_keys += silv[: int(1*len(silv)/3)]\n",
    "deleted_keys += brow[: int(1*len(brow)/3)]\n",
    "\n",
    "print(len(deleted_keys))\n",
    "\n",
    "for del_k in deleted_keys:\n",
    "    del boxes[del_k]\n",
    "    \n",
    "keys = list(boxes.keys())\n",
    "random.shuffle(keys)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "fname, labels, bbox = [], [], []\n",
    "for key in keys:\n",
    "    name = key\n",
    "    box = boxes[name]\n",
    "    if box[1] in main_colors:\n",
    "        fname.append(name.replace('/', '.')+'.jpg')\n",
    "        labels.append(box[1])\n",
    "        bbox.append(box[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1419\n"
     ]
    }
   ],
   "source": [
    "print(len(fname))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "new_dirs = ['/kaggle/working/data/train', '/kaggle/working/data/valid', '/kaggle/working/data/test']\n",
    "\n",
    "import os\n",
    "def make_folder(folder):\n",
    "    if not os.path.exists(folder):\n",
    "        os.makedirs(folder)\n",
    "\n",
    "for new_dir in new_dirs:\n",
    "    make_folder(new_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Save train data |==================================================| 100.000% \n"
     ]
    }
   ],
   "source": [
    "save_train_val_data(fname, labels, bbox)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "import shutil\n",
    "for dirr in new_dirs:\n",
    "    shutil.rmtree(dirr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "from __future__ import print_function, division\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "from torch.optim import lr_scheduler\n",
    "import numpy as np\n",
    "import torchvision\n",
    "from torchvision import datasets, models, transforms\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "import os\n",
    "import copy\n",
    "\n",
    "plt.ion()   # interactive mode  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Data augmentation and normalization for training\n",
    "# Just normalization for validation\n",
    "data_transforms = {\n",
    "    'train': transforms.Compose([\n",
    "        transforms.RandomResizedCrop(224),\n",
    "        transforms.RandomHorizontalFlip(),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
    "    ]),\n",
    "    'valid': transforms.Compose([\n",
    "        transforms.Resize(256),\n",
    "        transforms.CenterCrop(224),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
    "    ]),\n",
    "}\n",
    "\n",
    "data_dir = 'data/'\n",
    "image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),\n",
    "                                          data_transforms[x])\n",
    "                  for x in ['train', 'valid']}\n",
    "dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=8,\n",
    "                                             shuffle=True, num_workers=4)\n",
    "              for x in ['train', 'valid']}\n",
    "dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'valid']}\n",
    "class_names = image_datasets['train'].classes\n",
    "\n",
    "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def imshow(inp, title=None):\n",
    "    \"\"\"Imshow for Tensor.\"\"\"\n",
    "    inp = inp.numpy().transpose((1, 2, 0))\n",
    "    mean = np.array([0.485, 0.456, 0.406])\n",
    "    std = np.array([0.229, 0.224, 0.225])\n",
    "    inp = std * inp + mean\n",
    "    inp = np.clip(inp, 0, 1)\n",
    "    plt.imshow(inp)\n",
    "    if title is not None:\n",
    "        plt.title(title)\n",
    "    plt.pause(0.001)  # pause a bit so that plots are updated\n",
    "\n",
    "\n",
    "# Get a batch of training data\n",
    "# inputs, classes = next(iter(dataloaders['train']))\n",
    "\n",
    "# Make a grid from batch\n",
    "# out = torchvision.utils.make_grid(inputs)\n",
    "\n",
    "# imshow(out, title=[class_names[x] for x in classes])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model(model, criterion, optimizer, scheduler, num_epochs=25):\n",
    "    since = time.time()\n",
    "\n",
    "    best_model_wts = copy.deepcopy(model.state_dict())\n",
    "    best_acc = 0.0\n",
    "\n",
    "    for epoch in range(num_epochs):\n",
    "        print('Epoch {}/{}'.format(epoch, num_epochs - 1))\n",
    "        print('-' * 10)\n",
    "\n",
    "        # Each epoch has a training and validation phase\n",
    "        for phase in ['train', 'valid']:\n",
    "            if phase == 'train':\n",
    "                model.train()  # Set model to training mode\n",
    "            else:\n",
    "                model.eval()   # Set model to evaluate mode\n",
    "\n",
    "            running_loss = 0.0\n",
    "            running_corrects = 0\n",
    "\n",
    "            # Iterate over data.\n",
    "            for inputs, labels in dataloaders[phase]:\n",
    "                inputs = inputs.to(device)\n",
    "                labels = labels.to(device)\n",
    "\n",
    "                # zero the parameter gradients\n",
    "                optimizer.zero_grad()\n",
    "\n",
    "                # forward\n",
    "                # track history if only in train\n",
    "                with torch.set_grad_enabled(phase == 'train'):\n",
    "                    outputs = model(inputs)\n",
    "                    _, preds = torch.max(outputs, 1)\n",
    "                    loss = criterion(outputs, labels)\n",
    "\n",
    "                    # backward + optimize only if in training phase\n",
    "                    if phase == 'train':\n",
    "                        loss.backward()\n",
    "                        # clip\n",
    "                        optimizer.step()\n",
    "\n",
    "                # statistics\n",
    "                running_loss += loss.item() * inputs.size(0)\n",
    "                running_corrects += torch.sum(preds == labels.data)\n",
    "#             if phase == 'train':\n",
    "#                 scheduler.step()\n",
    "\n",
    "            epoch_loss = running_loss / dataset_sizes[phase]\n",
    "            epoch_acc = running_corrects.double() / dataset_sizes[phase]\n",
    "\n",
    "            print('{} Loss: {:.4f} Acc: {:.4f}'.format(\n",
    "                phase, epoch_loss, epoch_acc))\n",
    "\n",
    "            # deep copy the model\n",
    "            if phase == 'valid' and epoch_acc > best_acc:\n",
    "                best_acc = epoch_acc\n",
    "                best_model_wts = copy.deepcopy(model.state_dict())\n",
    "\n",
    "#         print()\n",
    "\n",
    "    time_elapsed = time.time() - since\n",
    "    print('Training complete in {:.0f}m {:.0f}s'.format(\n",
    "        time_elapsed // 60, time_elapsed % 60))\n",
    "    print('Best val Acc: {:4f}'.format(best_acc))\n",
    "\n",
    "    # load best model weights\n",
    "    model.load_state_dict(best_model_wts)\n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def visualize_model(model, num_images=6):\n",
    "    was_training = model.training\n",
    "    model.eval()\n",
    "    images_so_far = 0\n",
    "    fig = plt.figure()\n",
    "\n",
    "    with torch.no_grad():\n",
    "        for i, (inputs, labels) in enumerate(dataloaders['valid']):\n",
    "            inputs = inputs.to(device)\n",
    "            labels = labels.to(device)\n",
    "\n",
    "            outputs = model(inputs)\n",
    "            _, preds = torch.max(outputs, 1)\n",
    "\n",
    "            for j in range(inputs.size()[0]):\n",
    "                images_so_far += 1\n",
    "                ax = plt.subplot(num_images//2, 2, images_so_far)\n",
    "                ax.axis('off')\n",
    "                ax.set_title('predicted: {}'.format(class_names[preds[j]]))\n",
    "                imshow(inputs.cpu().data[j])\n",
    "\n",
    "                if images_so_far == num_images:\n",
    "                    model.train(mode=was_training)\n",
    "                    return\n",
    "        model.train(mode=was_training)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch.nn.functional as F\n",
    "class FocalLoss(nn.Module):\n",
    "    def __init__(self, alpha=1., gamma=2.):\n",
    "        super().__init__()\n",
    "        self.alpha = alpha\n",
    "        self.gamma = gamma\n",
    "\n",
    "    def forward(self, inputs, targets, **kwargs):\n",
    "        CE_loss = nn.CrossEntropyLoss(reduction='none')(inputs, targets)\n",
    "        pt = torch.exp(-CE_loss)\n",
    "        F_loss = self.alpha * ((1-pt)**self.gamma) * CE_loss\n",
    "        return F_loss.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Downloading: \"https://download.pytorch.org/models/resnext101_32x8d-8ba56ff5.pth\" to /root/.cache/torch/checkpoints/resnext101_32x8d-8ba56ff5.pth\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b18ebbd402d448a2a2f81c02ee6d6929",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(FloatProgress(value=0.0, max=356082095.0), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "model_conv = torchvision.models.resnext101_32x8d(pretrained=True)\n",
    "for param in model_conv.parameters():\n",
    "    param.requires_grad = False\n",
    "\n",
    "# Parameters of newly constructed modules have requires_grad=True by default\n",
    "num_ftrs = model_conv.fc.in_features\n",
    "# model_conv.fc = nn.Linear(num_ftrs, 9)\n",
    "model_conv.fc = nn.Sequential(\n",
    "                                nn.Linear(num_ftrs, 512),\n",
    "                                nn.ReLU(),\n",
    "                                nn.BatchNorm1d(512),\n",
    "                                nn.Linear(512, 9)\n",
    "                                )\n",
    "model_conv = model_conv.to(device)\n",
    "\n",
    "# criterion = nn.CrossEntropyLoss()\n",
    "criterion = FocalLoss()\n",
    "\n",
    "# Observe that only parameters of final layer are being optimized as\n",
    "# opposed to before.\n",
    "optimizer_conv = optim.Adam(model_conv.fc.parameters())#, lr=0.0, lr_decay=0.96)\n",
    "\n",
    "# Decay LR by a factor of 0.1 every 7 epochs\n",
    "exp_lr_scheduler = lr_scheduler.ExponentialLR(optimizer=optimizer_conv, gamma=0.96)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 0/49\n",
      "----------\n",
      "train Loss: 1.0792 Acc: 0.4828\n",
      "valid Loss: 0.8443 Acc: 0.5300\n",
      "Epoch 1/49\n",
      "----------\n",
      "train Loss: 0.8125 Acc: 0.5727\n",
      "valid Loss: 0.7269 Acc: 0.6007\n",
      "Epoch 2/49\n",
      "----------\n",
      "train Loss: 0.7887 Acc: 0.5789\n",
      "valid Loss: 0.7070 Acc: 0.6325\n",
      "Epoch 3/49\n",
      "----------\n",
      "train Loss: 0.7152 Acc: 0.5938\n",
      "valid Loss: 0.8090 Acc: 0.6078\n",
      "Epoch 4/49\n",
      "----------\n",
      "train Loss: 0.7162 Acc: 0.6115\n",
      "valid Loss: 0.7565 Acc: 0.6148\n",
      "Epoch 5/49\n",
      "----------\n",
      "train Loss: 0.6357 Acc: 0.6529\n",
      "valid Loss: 0.7503 Acc: 0.6184\n",
      "Epoch 6/49\n",
      "----------\n",
      "train Loss: 0.6403 Acc: 0.6282\n",
      "valid Loss: 0.7246 Acc: 0.6360\n",
      "Epoch 7/49\n",
      "----------\n",
      "train Loss: 0.6898 Acc: 0.6044\n",
      "valid Loss: 0.6762 Acc: 0.6714\n",
      "Epoch 8/49\n",
      "----------\n",
      "train Loss: 0.6374 Acc: 0.6449\n",
      "valid Loss: 0.7268 Acc: 0.6608\n",
      "Epoch 9/49\n",
      "----------\n",
      "train Loss: 0.6146 Acc: 0.6493\n",
      "valid Loss: 0.7359 Acc: 0.6007\n",
      "Epoch 10/49\n",
      "----------\n",
      "train Loss: 0.6243 Acc: 0.6405\n",
      "valid Loss: 0.6996 Acc: 0.6219\n",
      "Epoch 11/49\n",
      "----------\n",
      "train Loss: 0.5971 Acc: 0.6599\n",
      "valid Loss: 0.7195 Acc: 0.6113\n",
      "Epoch 12/49\n",
      "----------\n",
      "train Loss: 0.6303 Acc: 0.6423\n",
      "valid Loss: 0.6806 Acc: 0.6431\n",
      "Epoch 13/49\n",
      "----------\n",
      "train Loss: 0.5456 Acc: 0.6811\n",
      "valid Loss: 0.6866 Acc: 0.6396\n",
      "Epoch 14/49\n",
      "----------\n",
      "train Loss: 0.5744 Acc: 0.6590\n",
      "valid Loss: 0.6870 Acc: 0.6290\n",
      "Epoch 15/49\n",
      "----------\n",
      "train Loss: 0.5619 Acc: 0.6564\n",
      "valid Loss: 0.6358 Acc: 0.6396\n",
      "Epoch 16/49\n",
      "----------\n",
      "train Loss: 0.5540 Acc: 0.6811\n",
      "valid Loss: 0.6488 Acc: 0.6431\n",
      "Epoch 17/49\n",
      "----------\n",
      "train Loss: 0.5934 Acc: 0.6511\n",
      "valid Loss: 0.6494 Acc: 0.6290\n",
      "Epoch 18/49\n",
      "----------\n",
      "train Loss: 0.5498 Acc: 0.6696\n",
      "valid Loss: 0.7272 Acc: 0.6396\n",
      "Epoch 19/49\n",
      "----------\n",
      "train Loss: 0.5321 Acc: 0.6969\n",
      "valid Loss: 0.6558 Acc: 0.6219\n",
      "Epoch 20/49\n",
      "----------\n",
      "train Loss: 0.5307 Acc: 0.6996\n",
      "valid Loss: 0.6217 Acc: 0.6820\n",
      "Epoch 21/49\n",
      "----------\n",
      "train Loss: 0.5715 Acc: 0.6670\n",
      "valid Loss: 0.6556 Acc: 0.6678\n",
      "Epoch 22/49\n",
      "----------\n",
      "train Loss: 0.5317 Acc: 0.6952\n",
      "valid Loss: 0.6149 Acc: 0.6996\n",
      "Epoch 23/49\n",
      "----------\n",
      "train Loss: 0.5477 Acc: 0.6890\n",
      "valid Loss: 0.6407 Acc: 0.6360\n",
      "Epoch 24/49\n",
      "----------\n",
      "train Loss: 0.4911 Acc: 0.7031\n",
      "valid Loss: 0.7195 Acc: 0.6254\n",
      "Epoch 25/49\n",
      "----------\n",
      "train Loss: 0.5275 Acc: 0.6802\n",
      "valid Loss: 0.7340 Acc: 0.6502\n",
      "Epoch 26/49\n",
      "----------\n",
      "train Loss: 0.5687 Acc: 0.6678\n",
      "valid Loss: 0.6875 Acc: 0.6537\n",
      "Epoch 27/49\n",
      "----------\n",
      "train Loss: 0.5218 Acc: 0.6802\n",
      "valid Loss: 0.7115 Acc: 0.6890\n",
      "Epoch 28/49\n",
      "----------\n",
      "train Loss: 0.5442 Acc: 0.6767\n",
      "valid Loss: 0.6494 Acc: 0.6572\n",
      "Epoch 29/49\n",
      "----------\n",
      "train Loss: 0.5044 Acc: 0.6916\n",
      "valid Loss: 0.7197 Acc: 0.6643\n",
      "Epoch 30/49\n",
      "----------\n",
      "train Loss: 0.5232 Acc: 0.6652\n",
      "valid Loss: 0.7298 Acc: 0.6431\n",
      "Epoch 31/49\n",
      "----------\n",
      "train Loss: 0.5266 Acc: 0.6943\n",
      "valid Loss: 0.6863 Acc: 0.6537\n",
      "Epoch 32/49\n",
      "----------\n",
      "train Loss: 0.4770 Acc: 0.7181\n",
      "valid Loss: 0.7017 Acc: 0.6608\n",
      "Epoch 33/49\n",
      "----------\n",
      "train Loss: 0.4830 Acc: 0.7189\n",
      "valid Loss: 0.6969 Acc: 0.6290\n",
      "Epoch 34/49\n",
      "----------\n",
      "train Loss: 0.5352 Acc: 0.6846\n",
      "valid Loss: 0.7092 Acc: 0.6608\n",
      "Epoch 35/49\n",
      "----------\n",
      "train Loss: 0.4684 Acc: 0.7084\n",
      "valid Loss: 0.6865 Acc: 0.6537\n",
      "Epoch 36/49\n",
      "----------\n",
      "train Loss: 0.4895 Acc: 0.7145\n",
      "valid Loss: 0.6723 Acc: 0.6572\n",
      "Epoch 37/49\n",
      "----------\n",
      "train Loss: 0.4969 Acc: 0.7022\n",
      "valid Loss: 0.6525 Acc: 0.6678\n",
      "Epoch 38/49\n",
      "----------\n",
      "train Loss: 0.4761 Acc: 0.7181\n",
      "valid Loss: 0.7814 Acc: 0.6325\n",
      "Epoch 39/49\n",
      "----------\n",
      "train Loss: 0.4812 Acc: 0.7137\n",
      "valid Loss: 0.6856 Acc: 0.6537\n",
      "Epoch 40/49\n",
      "----------\n",
      "train Loss: 0.4992 Acc: 0.6890\n",
      "valid Loss: 0.7332 Acc: 0.6537\n",
      "Epoch 41/49\n",
      "----------\n",
      "train Loss: 0.4613 Acc: 0.7198\n",
      "valid Loss: 0.7282 Acc: 0.6855\n",
      "Epoch 42/49\n",
      "----------\n",
      "train Loss: 0.5032 Acc: 0.6969\n",
      "valid Loss: 0.6521 Acc: 0.6396\n",
      "Epoch 43/49\n",
      "----------\n",
      "train Loss: 0.4914 Acc: 0.7207\n",
      "valid Loss: 0.6532 Acc: 0.6643\n",
      "Epoch 44/49\n",
      "----------\n",
      "train Loss: 0.4923 Acc: 0.6969\n",
      "valid Loss: 0.7107 Acc: 0.6325\n",
      "Epoch 45/49\n",
      "----------\n",
      "train Loss: 0.4910 Acc: 0.7101\n",
      "valid Loss: 0.6801 Acc: 0.6431\n",
      "Epoch 46/49\n",
      "----------\n",
      "train Loss: 0.4837 Acc: 0.7260\n",
      "valid Loss: 0.7039 Acc: 0.6466\n",
      "Epoch 47/49\n",
      "----------\n",
      "train Loss: 0.4797 Acc: 0.7057\n",
      "valid Loss: 0.7038 Acc: 0.6360\n",
      "Epoch 48/49\n",
      "----------\n",
      "train Loss: 0.4807 Acc: 0.7172\n",
      "valid Loss: 0.7108 Acc: 0.6431\n",
      "Epoch 49/49\n",
      "----------\n",
      "train Loss: 0.4772 Acc: 0.7216\n",
      "valid Loss: 0.6988 Acc: 0.6466\n",
      "Training complete in 12m 55s\n",
      "Best val Acc: 0.699647\n"
     ]
    }
   ],
   "source": [
    "model_conv = train_model(model_conv, criterion, optimizer_conv,\n",
    "                         exp_lr_scheduler, num_epochs=50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "torch.save(model_conv, '/kaggle/working/data/modresn81')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = torch.load('../input/color80acc/color80acc')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "False\n",
      "True\n",
      "True\n",
      "True\n",
      "True\n",
      "False\n",
      "False\n"
     ]
    }
   ],
   "source": [
    "for name, param in model.named_parameters():\n",
    "    if name in ['fc.3.weight','fc.3.bias']:\n",
    "        param.requires_grad = False\n",
    "    print(param.requires_grad)\n",
    "# Parameters of newly constructed modules have requires_grad=True by default\n",
    "# num_ftrs = model.fc.in_features\n",
    "# model.fc = nn.Linear(num_ftrs, 196)\n",
    "model = model.to(device)\n",
    "\n",
    "criterion = FocalLoss()\n",
    "\n",
    "# Observe that only parameters of final layer are being optimized as\n",
    "# opposed to before.\n",
    "optimizer_conv = optim.Adam(model.fc.parameters(), lr = 1e-4, weight_decay = 1e-9)#, lr=0.0, lr_decay=0.96)\n",
    "\n",
    "# Decay LR by a factor of 0.1 every 7 epochs\n",
    "# exp_lr_scheduler = lr_scheduler.ExponentialLR(optimizer=optimizer_conv, gamma=0.96)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 0/49\n",
      "----------\n",
      "train Loss: 0.4567 Acc: 0.7322\n",
      "valid Loss: 0.3096 Acc: 0.8163\n",
      "Epoch 1/49\n",
      "----------\n",
      "train Loss: 0.4909 Acc: 0.7084\n",
      "valid Loss: 0.2658 Acc: 0.8375\n",
      "Epoch 2/49\n",
      "----------\n",
      "train Loss: 0.4925 Acc: 0.7004\n",
      "valid Loss: 0.2626 Acc: 0.8339\n",
      "Epoch 3/49\n",
      "----------\n",
      "train Loss: 0.4781 Acc: 0.7084\n",
      "valid Loss: 0.2660 Acc: 0.8410\n",
      "Epoch 4/49\n",
      "----------\n",
      "train Loss: 0.4699 Acc: 0.7145\n",
      "valid Loss: 0.2683 Acc: 0.8339\n",
      "Epoch 5/49\n",
      "----------\n",
      "train Loss: 0.4666 Acc: 0.7207\n",
      "valid Loss: 0.2521 Acc: 0.8551\n",
      "Epoch 6/49\n",
      "----------\n",
      "train Loss: 0.4500 Acc: 0.7410\n",
      "valid Loss: 0.2727 Acc: 0.8233\n",
      "Epoch 7/49\n",
      "----------\n",
      "train Loss: 0.4542 Acc: 0.7207\n",
      "valid Loss: 0.2666 Acc: 0.8481\n",
      "Epoch 8/49\n",
      "----------\n",
      "train Loss: 0.4645 Acc: 0.7233\n",
      "valid Loss: 0.2807 Acc: 0.8163\n",
      "Epoch 9/49\n",
      "----------\n",
      "train Loss: 0.4274 Acc: 0.7348\n",
      "valid Loss: 0.3002 Acc: 0.8516\n",
      "Epoch 10/49\n",
      "----------\n",
      "train Loss: 0.4658 Acc: 0.7242\n",
      "valid Loss: 0.2751 Acc: 0.8092\n",
      "Epoch 11/49\n",
      "----------\n",
      "train Loss: 0.4588 Acc: 0.7304\n",
      "valid Loss: 0.2984 Acc: 0.7809\n",
      "Epoch 12/49\n",
      "----------\n",
      "train Loss: 0.4798 Acc: 0.7040\n",
      "valid Loss: 0.2798 Acc: 0.8092\n",
      "Epoch 13/49\n",
      "----------\n",
      "train Loss: 0.4336 Acc: 0.7216\n",
      "valid Loss: 0.2745 Acc: 0.8198\n",
      "Epoch 14/49\n",
      "----------\n",
      "train Loss: 0.4499 Acc: 0.7304\n",
      "valid Loss: 0.3141 Acc: 0.7739\n",
      "Epoch 15/49\n",
      "----------\n",
      "train Loss: 0.4637 Acc: 0.7383\n",
      "valid Loss: 0.2788 Acc: 0.8057\n",
      "Epoch 16/49\n",
      "----------\n",
      "train Loss: 0.4406 Acc: 0.7374\n",
      "valid Loss: 0.2809 Acc: 0.8269\n",
      "Epoch 17/49\n",
      "----------\n",
      "train Loss: 0.5146 Acc: 0.7163\n",
      "valid Loss: 0.2855 Acc: 0.8021\n",
      "Epoch 18/49\n",
      "----------\n",
      "train Loss: 0.4384 Acc: 0.7322\n",
      "valid Loss: 0.2949 Acc: 0.8057\n",
      "Epoch 19/49\n",
      "----------\n",
      "train Loss: 0.4476 Acc: 0.7286\n",
      "valid Loss: 0.2955 Acc: 0.8092\n",
      "Epoch 20/49\n",
      "----------\n",
      "train Loss: 0.4531 Acc: 0.7251\n",
      "valid Loss: 0.2835 Acc: 0.8304\n",
      "Epoch 21/49\n",
      "----------\n",
      "train Loss: 0.4209 Acc: 0.7463\n",
      "valid Loss: 0.3177 Acc: 0.7915\n",
      "Epoch 22/49\n",
      "----------\n",
      "train Loss: 0.4390 Acc: 0.7304\n",
      "valid Loss: 0.3011 Acc: 0.8057\n",
      "Epoch 23/49\n",
      "----------\n",
      "train Loss: 0.4393 Acc: 0.7357\n",
      "valid Loss: 0.3052 Acc: 0.7986\n",
      "Epoch 24/49\n",
      "----------\n",
      "train Loss: 0.4248 Acc: 0.7524\n",
      "valid Loss: 0.2990 Acc: 0.8057\n",
      "Epoch 25/49\n",
      "----------\n",
      "train Loss: 0.4587 Acc: 0.7207\n",
      "valid Loss: 0.3200 Acc: 0.7809\n",
      "Epoch 26/49\n",
      "----------\n",
      "train Loss: 0.4223 Acc: 0.7392\n",
      "valid Loss: 0.2982 Acc: 0.8163\n",
      "Epoch 27/49\n",
      "----------\n",
      "train Loss: 0.4285 Acc: 0.7242\n",
      "valid Loss: 0.3056 Acc: 0.8163\n",
      "Epoch 28/49\n",
      "----------\n",
      "train Loss: 0.4275 Acc: 0.7445\n",
      "valid Loss: 0.3084 Acc: 0.8057\n",
      "Epoch 29/49\n",
      "----------\n",
      "train Loss: 0.4204 Acc: 0.7410\n",
      "valid Loss: 0.3148 Acc: 0.7951\n",
      "Epoch 30/49\n",
      "----------\n",
      "train Loss: 0.4502 Acc: 0.7269\n",
      "valid Loss: 0.3158 Acc: 0.7809\n",
      "Epoch 31/49\n",
      "----------\n",
      "train Loss: 0.4400 Acc: 0.7366\n",
      "valid Loss: 0.3055 Acc: 0.7986\n",
      "Epoch 32/49\n",
      "----------\n",
      "train Loss: 0.4256 Acc: 0.7339\n",
      "valid Loss: 0.3110 Acc: 0.8163\n",
      "Epoch 33/49\n",
      "----------\n",
      "train Loss: 0.4462 Acc: 0.7419\n",
      "valid Loss: 0.2988 Acc: 0.7951\n",
      "Epoch 34/49\n",
      "----------\n",
      "train Loss: 0.4337 Acc: 0.7427\n",
      "valid Loss: 0.3023 Acc: 0.7951\n",
      "Epoch 35/49\n",
      "----------\n",
      "train Loss: 0.4133 Acc: 0.7489\n",
      "valid Loss: 0.3078 Acc: 0.7915\n",
      "Epoch 36/49\n",
      "----------\n",
      "train Loss: 0.4428 Acc: 0.7348\n",
      "valid Loss: 0.3040 Acc: 0.7986\n",
      "Epoch 37/49\n",
      "----------\n",
      "train Loss: 0.4459 Acc: 0.7392\n",
      "valid Loss: 0.3084 Acc: 0.8021\n",
      "Epoch 38/49\n",
      "----------\n",
      "train Loss: 0.4350 Acc: 0.7427\n",
      "valid Loss: 0.3203 Acc: 0.7845\n",
      "Epoch 39/49\n",
      "----------\n",
      "train Loss: 0.4495 Acc: 0.7445\n",
      "valid Loss: 0.3113 Acc: 0.7880\n",
      "Epoch 40/49\n",
      "----------\n",
      "train Loss: 0.4417 Acc: 0.7189\n",
      "valid Loss: 0.3055 Acc: 0.8092\n",
      "Epoch 41/49\n",
      "----------\n",
      "train Loss: 0.4230 Acc: 0.7454\n",
      "valid Loss: 0.3174 Acc: 0.8057\n",
      "Epoch 42/49\n",
      "----------\n",
      "train Loss: 0.4435 Acc: 0.7436\n",
      "valid Loss: 0.3297 Acc: 0.7774\n",
      "Epoch 43/49\n",
      "----------\n",
      "train Loss: 0.4223 Acc: 0.7498\n",
      "valid Loss: 0.3214 Acc: 0.8057\n",
      "Epoch 44/49\n",
      "----------\n",
      "train Loss: 0.4080 Acc: 0.7604\n",
      "valid Loss: 0.3280 Acc: 0.7809\n",
      "Epoch 45/49\n",
      "----------\n",
      "train Loss: 0.4008 Acc: 0.7586\n",
      "valid Loss: 0.3183 Acc: 0.7845\n",
      "Epoch 46/49\n",
      "----------\n",
      "train Loss: 0.4272 Acc: 0.7489\n",
      "valid Loss: 0.3346 Acc: 0.7668\n",
      "Epoch 47/49\n",
      "----------\n",
      "train Loss: 0.4239 Acc: 0.7401\n",
      "valid Loss: 0.3356 Acc: 0.7880\n",
      "Epoch 48/49\n",
      "----------\n",
      "train Loss: 0.3961 Acc: 0.7559\n",
      "valid Loss: 0.3186 Acc: 0.8057\n",
      "Epoch 49/49\n",
      "----------\n",
      "train Loss: 0.4192 Acc: 0.7542\n",
      "valid Loss: 0.3166 Acc: 0.7951\n",
      "Training complete in 13m 0s\n",
      "Best val Acc: 0.855124\n"
     ]
    }
   ],
   "source": [
    "model = train_model(model, criterion, optimizer_conv,\n",
    "                         exp_lr_scheduler, num_epochs=50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "torch.save(model, '/kaggle/working/data/final_model_85')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "def confusion_matrix(model_ft, num_images=6):\n",
    "    nb_classes = 9\n",
    "\n",
    "    confusion_matrix = torch.zeros(nb_classes, nb_classes)\n",
    "    with torch.no_grad():\n",
    "        for i, (inputs, classes) in enumerate(dataloaders['valid']):\n",
    "            \n",
    "            inputs = inputs.to(device)\n",
    "            classes = classes.to(device)\n",
    "            outputs = model_ft(inputs)\n",
    "            _, preds = torch.max(outputs, 1)\n",
    "            for t, p in zip(classes.view(-1), preds.view(-1)):\n",
    "                    confusion_matrix[t.long(), p.long()] += 1\n",
    "        print(confusion_matrix)\n",
    "        print(confusion_matrix.diag()/confusion_matrix.sum(1))\n",
    "        return confusion_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[28.,  1.,  2.,  2.,  0.,  0.,  3.,  0.,  0.],\n",
      "        [ 8., 15.,  2.,  1.,  0.,  1.,  1.,  6.,  0.],\n",
      "        [ 5.,  1.,  9.,  2.,  0.,  2.,  5.,  2.,  1.],\n",
      "        [ 3.,  2.,  1., 19.,  0.,  0.,  1.,  1.,  0.],\n",
      "        [ 0.,  0.,  0.,  1., 34.,  4.,  1.,  0.,  0.],\n",
      "        [ 1.,  0.,  0.,  0.,  0., 33.,  1.,  1.,  0.],\n",
      "        [ 1.,  0.,  2.,  4.,  1.,  1., 13.,  8.,  0.],\n",
      "        [ 0.,  0.,  0.,  0.,  0.,  0.,  2., 30.,  1.],\n",
      "        [ 1.,  1.,  0.,  0.,  0.,  0.,  1.,  0., 17.]])\n",
      "tensor([0.7778, 0.4412, 0.3333, 0.7037, 0.8500, 0.9167, 0.4333, 0.9091, 0.8500])\n",
      "['Black', 'Blue', 'Brown', 'Green', 'Orange', 'Red', 'Silver', 'White', 'Yellow']\n"
     ]
    }
   ],
   "source": [
    "confusion_matrix(model)\n",
    "print(class_names)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Test"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Preprocess for input image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "final_model = torch.load('models/color-models/final_model_85', map_location='cpu')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "import ssl\n",
    "import base64\n",
    "from PIL import Image, ImageFile\n",
    "import http.client as httplib\n",
    "\n",
    "headers = {\"Content-type\": \"application/json\",\n",
    "           \"X-Access-Token\": \"yrkuYbYWugkjcM3tfpO4ffCGHHOYgaJehWOD\"}\n",
    "\n",
    "class_names = ['Black', 'Blue', 'Brown', 'Green', 'Orange', 'Red', 'Silver', 'White', 'Yellow']\n",
    "\n",
    "def get_box(path):\n",
    "    \n",
    "    image_data = base64.b64encode(open(path, 'rb').read()).decode()\n",
    "    params = json.dumps({\"image\": image_data})\n",
    "    \n",
    "    conn = httplib.HTTPSConnection(\"dev.sighthoundapi.com\", \n",
    "        context=ssl.SSLContext(ssl.PROTOCOL_TLSv1_2))\n",
    "    \n",
    "    conn.request(\"POST\", \"/v1/recognition?objectType=vehicle\", params, headers)\n",
    "    response = conn.getresponse()\n",
    "    result = response.read()\n",
    "    json_obj = json.loads(result)\n",
    "\n",
    "    if 'reasonCode' in json_obj and json_obj['reasonCode'] == 50202:\n",
    "        print(json_obj)\n",
    "        return 'TL'\n",
    "    if not json_obj or 'objects' not in json_obj or len(json_obj['objects']) < 1:\n",
    "        return False\n",
    "    \n",
    "    annot = json_obj['objects'][0]['vehicleAnnotation']\n",
    "    vertices = annot['bounding']['vertices']\n",
    "    xy1 = vertices[0]\n",
    "    xy3 = vertices[2]\n",
    "    return xy1['x'], xy1['y'], xy3['x'], xy3['y']\n",
    "\n",
    "def crop_car(src_path, x1, y1, x2, y2):\n",
    "    src_image = cv2.imread(src_path)\n",
    "    if src_image is None:\n",
    "        return\n",
    "    crop_image = src_image[y1:y2, x1:x2]\n",
    "    dst_img = cv2.resize(src=crop_image, dsize=(224, 224))\n",
    "    img = Image.fromarray(dst_img)\n",
    "    image = data_transforms['valid'](img).float()\n",
    "    image = torch.Tensor(image)\n",
    "    return image.unsqueeze(0)\n",
    "#     return image.unsqueeze(0).cuda() # if cuda"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predict_color(src):\n",
    "    resp = get_box(src)\n",
    "    if not resp:\n",
    "        return \"error\"\n",
    "    plotting(src, *resp)\n",
    "    image = crop_car(src, *resp)\n",
    "    preds = final_model(image)\n",
    "    return class_names[int(preds.max(1)[1][0])]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": [
    "src = '../color_data3/42307283.1.jpg'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The color isWhite \n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"The color is{} \".format(predict_color(src)))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8rc1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
